1. Field of the Invention
This invention relates to improvements in memory architectures and methods for operating same, and more particularly, to improvements in memory architectures and operations thereof for increasing the speed of data transfers between the memory array and a cache memory associated therewith.
2. Relevant Background
During recent years, the memory industry has begun to widely use synchronous DRAMs (SDRAMs). SDRAMs have begun to be so commonplace, that often the reference to its synchronous nature is dropped, and they are referred to simply as DRAMs. However, to avoid confusion, synchronous DRAMs will be consistently referred to herein as xe2x80x9cSDRAMsxe2x80x9d.
As SDRAMs have developed, they have been operated at ever increasing clock speeds. The SDRAMS of the second generation were called double data rate (DDR) SDRAMs, and are now often referred to as xe2x80x9cDDR-Ixe2x80x9d SDRAMs. In the second generation of synchronous SDRAMs, clock frequencies of 133 MHz were common. Recently, a third new generation of synchronous SDRAMs are being defined to operate at speeds of two times or greater than DDR-I SDRAMs, and are sometimes referred to as xe2x80x9cDDR-Ixe2x80x9d SDRAMs.
The clock frequencies presently being investigated for DDR-II SDRAMS are on the order of about 200-400 MHz. Although the clock frequencies of the SDRAMs have been increasing, the actual signal delays as the signals propagate through the memory circuitry have not been concomitantly decreased. Thus, one might expect that an increased clock speed applied to an SDRAM might increase the data rate available from the SDRAM, or, alternatively, reduce the access time to the data in the SDRAM. However, the memory elements themselves in the SDRAMs are generally substantially the same, and, therefore, require the same amount of access time, regardless of the clock speed. Thus, an increased clock speed generally only enables a random bit of data to be accessed in about the same time frame as devices with lower clock speeds. As a result, devices that operate at higher clock speeds merely require a larger number of clock cycles to access the data in the same time frame.
To address the goal in the design of memory devices of achieving increased random access speeds, it has been proposed to include cache memory elements in the device into which the contents of the SDRAM array may be temporarily stored prior to being delivered to the output of the memory. As used herein, the term xe2x80x9ccachexe2x80x9d or xe2x80x9ccache memoryxe2x80x9d is used to refer to a data latch, register, memory, or other suitable circuit that can temporarily hold or store data read from a memory array prior to being delivered to the output of the memory. Among other things, the cache memory serves to reduce the overhead associated with the SDRAM array by allowing data access to occur while the precharge and next activation of the array is underway. This effectively speeds up the overall data rate by eliminating otherwise dead periods.
Thus, when an element from the memory array is read, it is detected by a sense amplifier that is associated with the memory cell being read, then subsequently delivered from the sense amplifier to the cache memory element that is at least temporarily associated therewith. One example of a memory array having a cache memory is shown in copending patent application Ser. No. 09/689,219, filed Oct. 11, 2000, said application being assigned to the assignee hereof, and incorporated herein by reference.
Today, in memory architectures, in general, and SDRAM architectures, in particular, one physical circuit layout that has been suggested includes sets of sense amplifiers alternating with memory array blocks serviced by the sense amplifiers. See, for example, U.S. Pat. No. 5,887,272, which is assigned to the assignee hereof, and which is incorporated herein by reference. The sense amplifiers are arranged in stripes between adjacent SDRAM array blocks. Each sense amplifier stripe may be connected to selectively service the SDRAM cells on both sides of the stripe. Thus, the sense amplifiers in a particular sense amplifier stripe may be selectively connected to selected memory cells on either the memory array located on left of the stripe, or to selected memory cells located on the right of the stripe.
Additionally, memory arrays are becoming increasingly dense. For example, SDRAM designers are under constant tension to design SDRAM circuits more densely, but at the same time, to include larger amounts of functionality in the circuit. One of the techniques that integrated circuit manufacturers have used to address these problems is to place greater and greater emphasis on multi-layered structures. For example, above the active regions of the device, one or more layers of interconnecting metal or other conducting material, such as polysilicon, or the like, may be used. However, as the number of the layers increases, the planarity of the surface on which subsequent layers are formed becomes increasingly uneven. As a result, the overlying or subsequently formed structures have a tendency to be susceptible to discontinuities, due to step-like structures that form at the surface. As a result, the pitch of the interconnect structures generally cannot be designed at too low a level. (The pitch of an interconnect is regarded as the distance between an interconnect structure and its closest neighbor, plus the dimension of the interconnect itself.)
One SDRAM example is class of SDRAM devices, called the xe2x80x9cEnhanced SDRAMxe2x80x9d, or xe2x80x9cESDRAMxe2x80x9d, which has been recently introduced by Enhanced Memory Systems, Inc of Colorado Springs, Colo. An example is the SM2603 and SM2604 Enhanced SDRAM (ESDRAM) devices, which are a 64 Mbit JEDEC superset standard SDRAM. While pin, function, and timing are compatible with standard SDRAMs, they have a speed and architecture that optimizes system price/performance in high performance main memory, video graphics, and embedded systems.
This 64 Mbit ESDRAM is a high-speed SDRAM configured as four banks of SDRAM with an SRAM row cache per bank and a synchronous interface. All inputs are registered and all outputs are driven on rising clock edges. Within each bank, the devices are organized as 4096 rows of 4096 bits each. Within each row, the 8Mxc3x978 device has 512 column address locations and the 4Mxc3x9716 device has 256 column locations. Read and write accesses are accomplished by opening a row and selecting a column address location for the transaction. A xe2x80x9cbank activatexe2x80x9d (xe2x80x9cACTxe2x80x9d) command instructs the device to open a row in one of the four banks, though all four banks may be active simultaneously. A subsequent xe2x80x9creadxe2x80x9d or xe2x80x9cwritexe2x80x9d command instructs the device to read data from or write data to a specified column address location.
On a random read access, an SDRAM bank is activated and data is latched into the sense amplifiers. The sense amplifiers now hold a row of data and the row is considered open. A xe2x80x9creadxe2x80x9d command now causes the entire row to latch into the SRAM row cache, and the data at a specified column address location is driven out. Since the row data is latched into the SRAM row cache, the SDRAM sense amplifiers are decoupled from the data. Therefore, the SDRAM precharge time can be hidden behind a burst read from the row cache. This minimizes subsequent page miss latency. Since both precharge and row address strobe (RAS) to column address strobe (CAS) delays are hidden, the device supports an industry leading CAS latency of one at clock frequencies up to 83 MHz, and CAS latency of two up to 166 MHz. At 166 MHz, all but one cycle of the next random access to any location in the same bank can be hidden. This SDRAM dramatically increases sustained bandwidth by up to two times over standard SDRAM. For interleaved burst read accesses, the entire precharge time is hidden and output data can be driven without any wait states.
Nevertheless, it may be possible to increase still further the data access time of the device.
In light of the above, therefore, it is an object of the invention to provide an improved SDRAM integrated circuit device.
It is another object of the invention to provide a SDRAM array in which a row, or other portion, of the SDRAM can be read and transferred to a cache memory upon receipt of a xe2x80x9cbank activatexe2x80x9d command to increase the access time of the device.
These and other objects, features and advantages of the invention will be apparent to those skilled in the art from the following detailed description of the invention, when read in conjunction with the accompanying drawings and appended claims.
According to a broad aspect of the invention, a method is presented for reading data from a synchronous memory of the type having data cells arranged in rows and columns and having a row cache. The method includes receiving an initial command and row address data for reading contents of a row of the memory selected by the row address data in response thereto. The contents of the row selected by the row address data are moved into the row cache, without an intervening command, such as a xe2x80x9creadxe2x80x9d command. After the contents of the row have been moved into the row cache, a xe2x80x9creadxe2x80x9d command and column address data are received. In response to the xe2x80x9creadxe2x80x9d command, data is read from the row cache at a column address specified by the column address data for output by the memory.
According to another broad aspect of the invention, a synchronous memory is presented. The synchronous memory includes a row cache and means for receiving an initial command substantially concurrently with row address data and activating for reading a row of the memory selected by the row address data in response thereto. Means for moving the contents of the row of the memory selected by the row address into the row cache are provided, and means for receiving a xe2x80x9creadxe2x80x9d command substantially concurrently with column address data after the contents of the row has been moved into the row cache are also provided. Means for reading data from the row cache at a column address specified by the column address data in response to the xe2x80x9creadxe2x80x9d command are provided as well as means for moving the data read from the row cache to an output of the memory after a predetermined number of clock cycles thereafter.
According to yet another broad aspect of the invention, an SDRAM adapted to receive xe2x80x9cbank activatexe2x80x9d and xe2x80x9creadxe2x80x9d commands is provided. The SDRAM includes a central memory region and a plurality of memory blocks arranged in first and second sets on respective opposite sides of the central memory region. A plurality of primary sense amplifier sets are provided, each set associated with a respective pair of the memory blocks and located adjacent thereto. A row cache is provided in the central memory region, and row decoders decode a row address in response to a xe2x80x9cbank activatexe2x80x9d command and move data from a decoded row address into a primary sense amplifier set associated with a memory block containing the decoded row address and into the row cache, prior to application of a xe2x80x9creadxe2x80x9d command to the SDRAM. Column decoders decode a column address in response to a xe2x80x9creadxe2x80x9d command and for reading data from the row cache in accordance with the decoded column address.